package thread;

class MyThread2 extends Thread{
    @Override
    public void run() {
        while(true){//无限循环
            System.out.println("hello thread");
            try {
                Thread.sleep(1000);//1s中打印一下
            } catch (InterruptedException e) {//多线程中常见异常-》线程被提前中断了，这里是执行sleep操作抛出的异常

            }
        }
    }
}
public class Demo2 {
    public static void main(String[] args) {
        Thread t=new MyThread2();//自己创建的t线程
        t.start();//此时创建好t线程

        //自动创建的main线程
        while(true){
            System.out.println("hello main");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        //因为在一个进程中，至少会有一个线程，此时自己创建的t线程和自动创建的main线程就算并发执行的关系（宏观看起来是同时执行）
        //但是微观上可能是并行+并发，取决于系统内部的调度
    }
}
